package com.spcmg.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.spcmg.entity.SpcRoom;
import org.apache.ibatis.annotations.Param;

import java.util.Collection;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 机房表 Mapper 接口
 * </p>
 *
 * @author admin
 * @since 2021-04-13
 */
public interface SpcRoomMapper extends BaseMapper<SpcRoom> {

    /**
     * 批量插入
     *
     * @param spcRoomList
     * @return
     */
    long batchInsertOrUpdate(@Param("spcRoomList") Collection<SpcRoom> spcRoomList);

    /**
     * 根据ChinaName查询Id
     *
     * @param chinaName
     * @return
     */
    Integer countByChinaName(@Param("chinaName") String chinaName);

    /**
     * 查询所有的机房信息
     *
     * @return
     */
    List<Map<String, Object>> selectAllForDownload();

    /**
     * 统计对应局站内所有“机房等级”内所有“机房类型”的机房数量
     *
     * @param stationId
     * @return
     */
    List<Map<String, Object>> statStationRoomNum(@Param("stationId") Long stationId);


    /**
     * 根据条件查询机房
     *
     * @param roomId         机房Id
     * @param equalChinaName 等于机房名
     * @param likeChinaName  模糊查询机房名
     * @param stationName    模糊查询局站名
     * @return
     */
    List<Map<String, Object>> selectSpcRoom(@Param("roomId") Long roomId,
                                            @Param("equalChinaName") String equalChinaName,
                                            @Param("likeChinaName") String likeChinaName,
                                            @Param("stationName") String stationName);
}
